package com.eling.elcms.travel.service;

import com.eling.elcms.core.service.IGenericManager;
import com.eling.elcms.core.webapp.controller.Msg;
import com.eling.elcms.travel.model.AllianceSettlement;
import com.eling.elcms.travel.model.GroupReserve;
import com.eling.elcms.travel.model.RuleType;
import com.eling.elcms.travel.model.SignUpRegister;
import com.eling.elcms.travel.model.view.AllianceSetlGridView;
import com.eling.elcms.travel.model.view.AllianceSetlSaveView;
import com.eling.elcms.travel.model.view.SettlementsResult;

import java.util.List;

public interface IAllianceSettlementManager extends IGenericManager<AllianceSettlement, Long>{

	List<AllianceSetlGridView> querySetl(GroupReserve cond);

	Msg saveSetl(AllianceSetlSaveView assView);

	/**
	 * 根据规则计算会员应抵扣额度
	 * @param signUp 入住人员报名信息
	 * @param type 抵扣类型
	 * @return 抵扣份数及金额
	 */
	SettlementsResult getAllianceRuleMoney(SignUpRegister signUp, RuleType type,GroupReserve groupReserve);

}
